
// vue模块化环境的配置加载文件，所有的环境的加载都由该文件开始运行读取
//    ==> Options Api  【选项式API模式-内置默认配置】 
//    ==> vue.config.js 文件主要是为开发者提供一个对默认配置进行覆盖的接口文件
//    ==> 详细配置参考vue/cli官方网站 


// asdasdasdasdasd
console.log("vue.config.js 文件被加载")

// define…… 开头的模块是为开发者提供代码提示的模块，不会影响程序运行
const { defineConfig } = require('@vue/cli-service')

// vue的public+src以外的环境设置文件不支持ES模块 => 直接使用node的模块语法
module.exports = defineConfig({
  transpileDependencies: true,
  // publicPath: "/",
  // publicPath:"/cccc/",
  publicPath:"/wbs22082/",

  // SPA 单页应用 => 基本不需要添加和修改默认pages配置
  // MPA 多页应用【多个单页应用组合的项目】 => 多页应用中需要通过配置分割多个vue单页项目
  pages: {
    // key:value   key 为单页项目配置名【inde必须存在，且永远是默认单页程序】
    //             value 为一个单页程序的详细配置【必须包含入口文件的设置-entry设置】
    //                + entry 为js 入口文件必须定义
    //                + template 为html的入口文件，可以不用定义-存在的默认页面可以生成
    //                    --> 因为存在默认值vue模块化开发环境中当访问的资源不存在时，一律统一返回index的template配置文件
    index: {
      entry: "./src/index/main.js",
      template: "./public/index.html",
      // 当使用 title 选项时，
      // template 中的 title 标签需要是 <title><%= htmlWebpackPlugin.options.title %></title>
      title: 'vue语法学习',
    },
    film: {
      entry: "./src/film/main.js",
      template: "./public/film.html"
    }
  },

  pluginOptions: {
    'style-resources-loader': {
      preProcessor: 'scss',
      patterns: [
        "./src/index/scss/var.scss"
      ]
    }
  }
})
